package com.roads.engineering.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.roads.common.annotation.Excel;
import com.roads.common.core.domain.BaseEntity;

/**
 * 工程计划比例对象 eng_plan_scale
 *
 * @author nhp
 * @date 2023-03-17
 */
public class EngPlanScale extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 自增ID
     */
    private Integer id;

    /**
     * 标段编码
     */
    private String institutionCode;

    /**
     * 开始日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date beginDate;

    /**
     * 截止日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endDate;

    /**
     * 年
     */
    private String year;

    /**
     * 月
     */
    private String month;

    /**
     * 日期（年-月）
     */
    private String date;

    /**
     * 月完成比例
     */
    private BigDecimal monthComplete;

    /**
     * 累计完成比例
     */
    private BigDecimal accumulateComplete;


    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }

    public void setInstitutionCode(String institutionCode) {
        this.institutionCode = institutionCode;
    }

    public String getInstitutionCode() {
        return institutionCode;
    }

    public void setBeginDate(Date beginDate) {
        this.beginDate = beginDate;
    }

    public Date getBeginDate() {
        return beginDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setYear(String year) {
        this.year = year;
    }

    public String getYear() {
        return year;
    }

    public void setMonth(String month) {
        this.month = month;
    }

    public String getMonth() {
        return month;
    }

    public void setDate(String date) {
        this.date = date;
    }

    public String getDate() {
        return date;
    }

    public void setMonthComplete(BigDecimal monthComplete) {
        this.monthComplete = monthComplete;
    }

    public BigDecimal getMonthComplete() {
        return monthComplete;
    }

    public void setAccumulateComplete(BigDecimal accumulateComplete) {
        this.accumulateComplete = accumulateComplete;
    }

    public BigDecimal getAccumulateComplete() {
        return accumulateComplete;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("institutionCode", getInstitutionCode())
                .append("beginDate", getBeginDate())
                .append("endDate", getEndDate())
                .append("year", getYear())
                .append("month", getMonth())
                .append("date", getDate())
                .append("monthComplete", getMonthComplete())
                .append("accumulateComplete", getAccumulateComplete())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }

}
